The present invention relates to the field of computer graphics. Many computer graphic images are created by mathematically modeling the interaction of light with a three dimensional scene from a given viewpoint. This process, called rendering, generates a two-dimensional image of the scene from the given viewpoint, and is analogous to taking a photograph of a real-world scene.
As the demand for computer graphics, and in particular for real-time computer graphics, has increased, computer systems with graphics processing subsystems adapted to accelerate e the rendering process have become widespread. In these computer systems, the rendering process is divided between a computer's general purpose central processing unit (CPU) and the graphics processing subsystem. Typically, the CPU performs high level operations, such as determining the position, motion, and collision of objects in a given scene. From these high level operations, the CPU generates a set of rendering commands and data defining the desired rendered image or images. For example, rendering commands and data can define scene geometry, lighting, shading, texturing, motion, and/or camera parameters for a scene. The graphics processing subsystem creates one or more rendered images from the set of rendering commands and data.
Traditionally, the CPU and other chips implementing core logic functions of the computer system are located on a single circuit board, referred to as a motherboard. The graphics processing subsystem is located on a separate circuit board that is connected with the motherboard via an expansion slot interface. More recently, the graphics processing subsystem has been integrated into the motherboard, either as part of a chip implementing core logic functions of the computer system or as one or more separate graphics and/or memory chips. Integrating the graphics processing subsystem with the motherboard allows computer manufacturers to provide complete, low-cost computer systems. It also enables computer manufacturers to produce physically compact computer systems, such as notebook computers or other mobile computing applications.
Typically, integrated graphics processing subsystems have lower performance than graphics processing subsystems located on separate circuit boards, due to a number of factors. First, the physical size of the integrated graphics processing subsystem is limited to the available space on the motherboard. This may limit the complexity of the graphics processing chip or chips used as well as the amount of memory available for graphics operations. Second, power consumption and heat dissipation are more difficult to deal with in integrated graphics processing subsystems, especially with physically compact computer systems. Additionally, as integrated graphics processing subsystems are often intended to be part of low cost computer systems, cost considerations may limit graphics processing subsystem performance.
Computer owners may desire to upgrade the integrated graphics processing subsystem in their computer systems to improve performance or to stave off obsolescence. However, upgrading integrated graphics processing subsystems is difficult or impossible. As their name belies, many integrated graphics processing subsystems are literally physically incorporated into the motherboard of the computer system, and cannot be removed and upgraded without replacing the entire motherboard. This is either impossible or too cost-prohibitive to be an effective solution.
An alternate solution includes an expansion slot or port on the motherboard along with an integrated graphics processing subsystem. When the expansion slot is unused, the computer system uses the integrated graphics processing subsystem. When an auxiliary graphics processing subsystem is connected with the expansion slot or port, the integrated graphics processing subsystem is disabled and the auxiliary graphics processing subsystem performs the graphics operations for the computer system.
However, including an expansion slot or port for replacing an integrated graphics processing subsystem requires a graphics bus bridge circuit for alternately routing data to the integrated graphics processing subsystem or an additional graphics processing subsystem. A graphics bus bridge circuit is an expensive and complicated component. A graphics bus bridge circuit increases the cost of the motherboard due to a substantial increase in the complexity of the core logic, the quantity of chip pins, and the difficulties in arranging circuit board traces. These additional costs associated with a graphics bus bridge circuit spoil many of the advantages of integrated graphics processing subsystems.
It is therefore desirable for a system to enable upgrades to integrated graphics processing subsystems without adding expensive components to the computer system. It is further desirable that the system of upgrading integrated graphics processing subsystems be adaptable to a variety of different types of computer systems.